/** 请求服务反回类型 */
export interface JsonResult<T> {
    /** 状态码 */
    code: number;
    /** 消息 */
    message: string;
    /** 数据 */
    data: T;
    /** 是否成功 */
    success: boolean;
    /** 时间戳 */
    timestamp: number;
    /** 附加数据 */
    extra?: object;
}

/** 用户登录成功数据类型 */
export interface LoginSuccessData {
    /** 用户编号 */
    id: number,
    /** 用户名 */
    username: string,
    /** 用户身份 */
    identity: string,
    /** 用户头像 */
    avatar: string,
    /** 用户token */
    token: string,
    refreshToken: string,
    /** tokenId */
    tokenId: string,
    /** 用户登录时间 */
    loginTime: string,
    /** 用户登录过期时间 */
    expireTime: string,
    /** token过期秒数 */
    expireSeconds: number,
    menuList: string,
    authorities: {id: number, authority: string}[]
}
/** 用户登录数据类型 */
export interface LoginData {
    /** 用户名 */
    username: string,
    /** 用户密码 */
    password: string,
}

/** 请求分页数据的参数类型 */
export interface PagingData {
    /** 当前请求页 */
    page: number,
    /** 当前请求的每页数量 */
    pageSize: number,
}
/**
 * 报销单分页数据请求参数类型
 */
export type ReportDetailPageData = PagingData & {
    reportId: number
}

/** 请求分页数据的反回结果类型 */
export interface PagingResult<T> {
    /** 当前页 */
    currentPage: number,
    /** 每页数据量 */
    pageSize: number,
    /** 总数据量 */
    totalCount: number,
    /** 总页数 */
    totalPage: number,
    /** 数据 */
    data: T[]
}